﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace GameEngine
{
    public abstract class Layer
    {
        #region Attributes

        protected Vector2 _startLocation;
        protected float _layerScale;
        protected Texture2D _layerTexture;

        #endregion

        #region Constructor

        public Layer(Texture2D layerTexture, Vector2 startLocation, float layerScale)
        {
            this._layerTexture = layerTexture;
            this._startLocation = startLocation;
            this._layerScale = layerScale;
        }

        #endregion

        #region Properties
        public Texture2D LayerTexture {
            set { this._layerTexture = value; }
            get { return this._layerTexture; }
        }

        public Vector2 StartLocation {
            set { this._startLocation = value; }
            get { return this._startLocation; }
        }
        public float LayerScale {
            set { this._layerScale = value; }
            get { return this._layerScale; }
        }

        #endregion

        #region Public Methods

        public virtual void Update(GameTime gameTime, Vector2 playerLocation){}
        public virtual void Draw(SpriteBatch spriteBatch){ }

        #endregion
    }
}
